using System;
using System.Collections.Generic;
using System.Text;
using THSLib;
using THSERP.BaseProvider;
using THSERP.BusinessEntities;
namespace THSERP.Modules.CreditNote
{
    public class CreditNoteItemsEntity : ERPModuleItemsEntity
    {
        #region Variables
        protected int _aRCreditNoteItemID;
        protected String _aAStatus = BusinessObject.DefaultAAStatus;
        protected int _fK_ARCreditNoteID;
        protected int _fK_ICProductID;
        protected int _fK_ICStockID;
        protected int _fK_ICStockSlotID;
        protected String _aRCreditNoteItemProductType = String.Empty;
        protected String _aRCreditNoteItemProductSerialNo = String.Empty;
        protected int _aRCreditNoteItemSortOrder;
        protected String _aRCreditNoteItemProductDesc = String.Empty;
        protected String _aRCreditNoteItemProductSellUnit = String.Empty;
        protected String _aRCreditNoteItemProductBasicUnit = String.Empty;
        protected String _aRCreditNoteItemProductPackagingUnit = String.Empty;
        protected double _aRCreditNoteItemProductSellFactor;
        protected double _aRCreditNoteItemProductPackagingFactor;
        protected double _aRCreditNoteItemProductUnitPrice;
        protected double _aRCreditNoteItemProductInternalUnitPrice;
        protected double _aRCreditNoteItemProductUnitCost;
        protected double _aRCreditNoteItemProductGroupDiscount;
        protected double _aRCreditNoteItemProductDiscount;
        protected double _aRCreditNoteItemProductTaxPercent;
        protected double _aRCreditNoteItemProductQtyOld;
        protected double _aRCreditNoteItemProductQty;
        protected double _aRCreditNoteItemProductBasicQty;
        protected double _aRCreditNoteItemProductPakagingQty;
        protected double _aRCreditNoteItemQty1;
        protected double _aRCreditNoteItemQty2;
        protected double _aRCreditNoteItemQty3;
        protected double _aRCreditNoteItemQty4;
        protected double _aRCreditNoteItemQty5;
        protected double _aRCreditNoteItemQty6;
        protected double _aRCreditNoteItemPrice;
        protected double _aRCreditNoteItemInternalPrice;
        protected String _aRCreditNoteItemComment = String.Empty;
        protected double _aRCreditNoteItemUnitVolumn;
        protected double _aRCreditNoteItemUnitWeight;
        protected double _aRCreditNoteItemTaxAmount;
        protected double _aRCreditNoteItemDiscountAmount;
        protected double _aRCreditNoteItemNetAmount;
        protected double _aRCreditNoteItemTotalAmount;
        protected double _aRCreditNoteItemTotalCost;
        #endregion

        #region Public properties
        public int ARCreditNoteItemID
        {
            get { return _aRCreditNoteItemID; }
            set
            {
                if (value != this._aRCreditNoteItemID)
                {
                    _aRCreditNoteItemID = value;
                    //NotifyChanged("ARCreditNoteItemID");
                }
            }
        }
        public String AAStatus
        {
            get { return _aAStatus; }
            set
            {
                if (value != this._aAStatus)
                {
                    _aAStatus = value;
                    //NotifyChanged("AAStatus");
                }
            }
        }
        public int FK_ARCreditNoteID
        {
            get { return _fK_ARCreditNoteID; }
            set
            {
                if (value != this._fK_ARCreditNoteID)
                {
                    _fK_ARCreditNoteID = value;
                    //NotifyChanged("FK_ARCreditNoteID");
                }
            }
        }
        public int FK_ICProductID
        {
            get { return _fK_ICProductID; }
            set
            {
                if (value != this._fK_ICProductID)
                {
                    _fK_ICProductID = value;
                    //NotifyChanged("FK_ICProductID");
                }
            }
        }
        public int FK_ICStockID
        {
            get { return _fK_ICStockID; }
            set
            {
                if (value != this._fK_ICStockID)
                {
                    _fK_ICStockID = value;
                    //NotifyChanged("FK_ICStockID");
                }
            }
        }
        public int FK_ICStockSlotID
        {
            get { return _fK_ICStockSlotID; }
            set
            {
                if (value != this._fK_ICStockSlotID)
                {
                    _fK_ICStockSlotID = value;
                    //NotifyChanged("FK_ICStockSlotID");
                }
            }
        }
        public String ARCreditNoteItemProductType
        {
            get { return _aRCreditNoteItemProductType; }
            set
            {
                if (value != this._aRCreditNoteItemProductType)
                {
                    _aRCreditNoteItemProductType = value;
                    //NotifyChanged("ARCreditNoteItemProductType");
                }
            }
        }
        public String ARCreditNoteItemProductSerialNo
        {
            get { return _aRCreditNoteItemProductSerialNo; }
            set
            {
                if (value != this._aRCreditNoteItemProductSerialNo)
                {
                    _aRCreditNoteItemProductSerialNo = value;
                    //NotifyChanged("ARCreditNoteItemProductSerialNo");
                }
            }
        }
        public int ARCreditNoteItemSortOrder
        {
            get { return _aRCreditNoteItemSortOrder; }
            set
            {
                if (value != this._aRCreditNoteItemSortOrder)
                {
                    _aRCreditNoteItemSortOrder = value;
                    //NotifyChanged("ARCreditNoteItemSortOrder");
                }
            }
        }
        public String ARCreditNoteItemProductDesc
        {
            get { return _aRCreditNoteItemProductDesc; }
            set
            {
                if (value != this._aRCreditNoteItemProductDesc)
                {
                    _aRCreditNoteItemProductDesc = value;
                    //NotifyChanged("ARCreditNoteItemProductDesc");
                }
            }
        }
        public String ARCreditNoteItemProductSellUnit
        {
            get { return _aRCreditNoteItemProductSellUnit; }
            set
            {
                if (value != this._aRCreditNoteItemProductSellUnit)
                {
                    _aRCreditNoteItemProductSellUnit = value;
                    //NotifyChanged("ARCreditNoteItemProductSellUnit");
                }
            }
        }
        public String ARCreditNoteItemProductBasicUnit
        {
            get { return _aRCreditNoteItemProductBasicUnit; }
            set
            {
                if (value != this._aRCreditNoteItemProductBasicUnit)
                {
                    _aRCreditNoteItemProductBasicUnit = value;
                    //NotifyChanged("ARCreditNoteItemProductBasicUnit");
                }
            }
        }
        public String ARCreditNoteItemProductPackagingUnit
        {
            get { return _aRCreditNoteItemProductPackagingUnit; }
            set
            {
                if (value != this._aRCreditNoteItemProductPackagingUnit)
                {
                    _aRCreditNoteItemProductPackagingUnit = value;
                    //NotifyChanged("ARCreditNoteItemProductPackagingUnit");
                }
            }
        }
        public double ARCreditNoteItemProductSellFactor
        {
            get { return _aRCreditNoteItemProductSellFactor; }
            set
            {
                if (value != this._aRCreditNoteItemProductSellFactor)
                {
                    _aRCreditNoteItemProductSellFactor = value;
                    //NotifyChanged("ARCreditNoteItemProductSellFactor");
                }
            }
        }
        public double ARCreditNoteItemProductPackagingFactor
        {
            get { return _aRCreditNoteItemProductPackagingFactor; }
            set
            {
                if (value != this._aRCreditNoteItemProductPackagingFactor)
                {
                    _aRCreditNoteItemProductPackagingFactor = value;
                    //NotifyChanged("ARCreditNoteItemProductPackagingFactor");
                }
            }
        }
        public double ARCreditNoteItemProductUnitPrice
        {
            get { return _aRCreditNoteItemProductUnitPrice; }
            set
            {
                if (value != this._aRCreditNoteItemProductUnitPrice)
                {
                    _aRCreditNoteItemProductUnitPrice = value;
                    //NotifyChanged("ARCreditNoteItemProductUnitPrice");
                }
            }
        }
        public double ARCreditNoteItemProductInternalUnitPrice
        {
            get { return _aRCreditNoteItemProductInternalUnitPrice; }
            set
            {
                if (value != this._aRCreditNoteItemProductInternalUnitPrice)
                {
                    _aRCreditNoteItemProductInternalUnitPrice = value;
                    //NotifyChanged("ARCreditNoteItemProductInternalUnitPrice");
                }
            }
        }
        public double ARCreditNoteItemProductUnitCost
        {
            get { return _aRCreditNoteItemProductUnitCost; }
            set
            {
                if (value != this._aRCreditNoteItemProductUnitCost)
                {
                    _aRCreditNoteItemProductUnitCost = value;
                    //NotifyChanged("ARCreditNoteItemProductUnitCost");
                }
            }
        }
        public double ARCreditNoteItemProductGroupDiscount
        {
            get { return _aRCreditNoteItemProductGroupDiscount; }
            set
            {
                if (value != this._aRCreditNoteItemProductGroupDiscount)
                {
                    _aRCreditNoteItemProductGroupDiscount = value;
                    //NotifyChanged("ARCreditNoteItemProductGroupDiscount");
                }
            }
        }
        public double ARCreditNoteItemProductDiscount
        {
            get { return _aRCreditNoteItemProductDiscount; }
            set
            {
                if (value != this._aRCreditNoteItemProductDiscount)
                {
                    _aRCreditNoteItemProductDiscount = value;
                    //NotifyChanged("ARCreditNoteItemProductDiscount");
                }
            }
        }
        public double ARCreditNoteItemProductTaxPercent
        {
            get { return _aRCreditNoteItemProductTaxPercent; }
            set
            {
                if (value != this._aRCreditNoteItemProductTaxPercent)
                {
                    _aRCreditNoteItemProductTaxPercent = value;
                    //NotifyChanged("ARCreditNoteItemProductTaxPercent");
                }
            }
        }
        public double ARCreditNoteItemProductQtyOld
        {
            get { return _aRCreditNoteItemProductQtyOld; }
            set
            {
                if (value != this._aRCreditNoteItemProductQtyOld)
                {
                    _aRCreditNoteItemProductQtyOld = value;
                    //NotifyChanged("ARCreditNoteItemProductQtyOld");
                }
            }
        }
        public double ARCreditNoteItemProductQty
        {
            get { return _aRCreditNoteItemProductQty; }
            set
            {
                if (value != this._aRCreditNoteItemProductQty)
                {
                    _aRCreditNoteItemProductQty = value;
                    //NotifyChanged("ARCreditNoteItemProductQty");
                }
            }
        }
        public double ARCreditNoteItemProductBasicQty
        {
            get { return _aRCreditNoteItemProductBasicQty; }
            set
            {
                if (value != this._aRCreditNoteItemProductBasicQty)
                {
                    _aRCreditNoteItemProductBasicQty = value;
                    //NotifyChanged("ARCreditNoteItemProductBasicQty");
                }
            }
        }
        public double ARCreditNoteItemProductPakagingQty
        {
            get { return _aRCreditNoteItemProductPakagingQty; }
            set
            {
                if (value != this._aRCreditNoteItemProductPakagingQty)
                {
                    _aRCreditNoteItemProductPakagingQty = value;
                    //NotifyChanged("ARCreditNoteItemProductPakagingQty");
                }
            }
        }
        public double ARCreditNoteItemQty1
        {
            get { return _aRCreditNoteItemQty1; }
            set
            {
                if (value != this._aRCreditNoteItemQty1)
                {
                    _aRCreditNoteItemQty1 = value;
                    //NotifyChanged("ARCreditNoteItemQty1");
                }
            }
        }
        public double ARCreditNoteItemQty2
        {
            get { return _aRCreditNoteItemQty2; }
            set
            {
                if (value != this._aRCreditNoteItemQty2)
                {
                    _aRCreditNoteItemQty2 = value;
                    //NotifyChanged("ARCreditNoteItemQty2");
                }
            }
        }
        public double ARCreditNoteItemQty3
        {
            get { return _aRCreditNoteItemQty3; }
            set
            {
                if (value != this._aRCreditNoteItemQty3)
                {
                    _aRCreditNoteItemQty3 = value;
                    //NotifyChanged("ARCreditNoteItemQty3");
                }
            }
        }
        public double ARCreditNoteItemQty4
        {
            get { return _aRCreditNoteItemQty4; }
            set
            {
                if (value != this._aRCreditNoteItemQty4)
                {
                    _aRCreditNoteItemQty4 = value;
                    //NotifyChanged("ARCreditNoteItemQty4");
                }
            }
        }
        public double ARCreditNoteItemQty5
        {
            get { return _aRCreditNoteItemQty5; }
            set
            {
                if (value != this._aRCreditNoteItemQty5)
                {
                    _aRCreditNoteItemQty5 = value;
                    //NotifyChanged("ARCreditNoteItemQty5");
                }
            }
        }
        public double ARCreditNoteItemQty6
        {
            get { return _aRCreditNoteItemQty6; }
            set
            {
                if (value != this._aRCreditNoteItemQty6)
                {
                    _aRCreditNoteItemQty6 = value;
                    //NotifyChanged("ARCreditNoteItemQty6");
                }
            }
        }
        public double ARCreditNoteItemPrice
        {
            get { return _aRCreditNoteItemPrice; }
            set
            {
                if (value != this._aRCreditNoteItemPrice)
                {
                    _aRCreditNoteItemPrice = value;
                    //NotifyChanged("ARCreditNoteItemPrice");
                }
            }
        }
        public double ARCreditNoteItemInternalPrice
        {
            get { return _aRCreditNoteItemInternalPrice; }
            set
            {
                if (value != this._aRCreditNoteItemInternalPrice)
                {
                    _aRCreditNoteItemInternalPrice = value;
                    //NotifyChanged("ARCreditNoteItemInternalPrice");
                }
            }
        }
        public String ARCreditNoteItemComment
        {
            get { return _aRCreditNoteItemComment; }
            set
            {
                if (value != this._aRCreditNoteItemComment)
                {
                    _aRCreditNoteItemComment = value;
                    //NotifyChanged("ARCreditNoteItemComment");
                }
            }
        }
        public double ARCreditNoteItemUnitVolumn
        {
            get { return _aRCreditNoteItemUnitVolumn; }
            set
            {
                if (value != this._aRCreditNoteItemUnitVolumn)
                {
                    _aRCreditNoteItemUnitVolumn = value;
                    //NotifyChanged("ARCreditNoteItemUnitVolumn");
                }
            }
        }
        public double ARCreditNoteItemUnitWeight
        {
            get { return _aRCreditNoteItemUnitWeight; }
            set
            {
                if (value != this._aRCreditNoteItemUnitWeight)
                {
                    _aRCreditNoteItemUnitWeight = value;
                    //NotifyChanged("ARCreditNoteItemUnitWeight");
                }
            }
        }
        public double ARCreditNoteItemTaxAmount
        {
            get { return _aRCreditNoteItemTaxAmount; }
            set
            {
                if (value != this._aRCreditNoteItemTaxAmount)
                {
                    _aRCreditNoteItemTaxAmount = value;
                    //NotifyChanged("ARCreditNoteItemTaxAmount");
                }
            }
        }
        public double ARCreditNoteItemDiscountAmount
        {
            get { return _aRCreditNoteItemDiscountAmount; }
            set
            {
                if (value != this._aRCreditNoteItemDiscountAmount)
                {
                    _aRCreditNoteItemDiscountAmount = value;
                    //NotifyChanged("ARCreditNoteItemDiscountAmount");
                }
            }
        }
        public double ARCreditNoteItemNetAmount
        {
            get { return _aRCreditNoteItemNetAmount; }
            set
            {
                if (value != this._aRCreditNoteItemNetAmount)
                {
                    _aRCreditNoteItemNetAmount = value;
                    //NotifyChanged("ARCreditNoteItemNetAmount");
                }
            }
        }
        public double ARCreditNoteItemTotalAmount
        {
            get { return _aRCreditNoteItemTotalAmount; }
            set
            {
                if (value != this._aRCreditNoteItemTotalAmount)
                {
                    _aRCreditNoteItemTotalAmount = value;
                    //NotifyChanged("ARCreditNoteItemTotalAmount");
                }
            }
        }
        public double ARCreditNoteItemTotalCost
        {
            get { return _aRCreditNoteItemTotalCost; }
            set
            {
                if (value != this._aRCreditNoteItemTotalCost)
                {
                    _aRCreditNoteItemTotalCost = value;
                    //NotifyChanged("ARCreditNoteItemTotalCost");
                }
            }
        }
        #endregion

        //Extra variables
        public List<ARCreditNoteItemInvoiceItemsInfo> lstARCreditNoteItemInvoiceItems;

        public List<ARCreditNoteItemInvoiceItemsInfo> ARCreditNoteItemInvoiceItemsList
        {
            get
            {
                return lstARCreditNoteItemInvoiceItems;
            }
            set
            {
                lstARCreditNoteItemInvoiceItems = value;
            }
        }

        public CreditNoteItemsEntity()
        {
            lstARCreditNoteItemInvoiceItems = new List<ARCreditNoteItemInvoiceItemsInfo>();
        }
    }
}
